package com.itestor.iptv.modules.common.service;

import java.util.List;

import com.itestor.iptv.modules.common.bean.GroupManageQuery;
import com.itestor.iptv.modules.common.domain.GroupManage;
import com.itestor.iptv.modules.common.vo.GroupManageOBJ;

/**
 * 
 * @author Mr.li
 *
 */
public interface GroupManageService {

    /**
     * 获取虚拟组.
     * @param groupName 
     * @return 虚拟组
     */
    GroupManageOBJ get(String groupName);

    /**
     * 获取虚拟组.
     * @param id 虚拟组
     * @return 虚拟组
     */
    GroupManageOBJ get(int id);
    
    /**
     * 添加虚拟组.
     * @param group 虚拟分组.
     */
    void add(GroupManageOBJ group);

    /**
     * 编辑虚拟分组.
     * @param group .     
     */
    void modify(GroupManageOBJ group);

    /**
     * 删除虚拟分组.
     * @param ids 虚拟分组Id.
     */
    void delete(int[] ids);

    /**
     * 按条件获取虚拟分组列表.
     * @param query 查询条件
     */
    void queryGroupManageList(GroupManageQuery query);
    
    /**
     * 获取所有分组列表.
     * @return List
     */
    List<GroupManage> findAllGroupManage();

    /**
     * 分配设备
     * @param idGroup 
     * @param robotIdList
     */
    void distributeRobot(int idGroup, List<Integer> robotIdList);
    
    /**
     * 删除分组设备.
     * @param pGroupManageId
     * @param pIds
     */
    void deleteRelRobot(String pGroupManageId, int[] pIds);
    
    
}
